package com.cy.pj.common.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.List;

/**
 * @author Cx
 * @stage secondStageOfWeb
 * @creat 2020-11-13 16:20
 * 借助此对象在业务逻辑层封装分页信息
 * 所有封装数据得对象都必须实现序列化 Serializable 接口 目的是方便对象进行序列化和反序列化
 * 1)序列化：将对象转换为字节
 * 2)反序列化：将字节转换为对象
 * 应用场景：
 * 将对象转换为字节缓存到内存 || 将内存中的对象存储到文件 || 将对象转换为字节在网络中进行加密传输
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class PageObject<T> implements Serializable {

    private static final long serialVersionUID = -8770600233998974797L; /* 序列化ID */

    private Integer rowCount; /* 总记录数 */
    private List<T> records; /* 当前页记录 */
    private Integer pageCount; /* 总页数 */
    private Integer pageSize; /* 每页最多显示多少条记录 */
    private Integer pageCurrent; /* 记录当前页得页码值 */

}
